'Copyright (C) 2009 Christiaan Cable
'
'This program is free software; you can redistribute it and/or
'modify it under the terms of the GNU General Public License
'as published by the Free Software Foundation; either version 3
'of the License, or (at your option) any later version.
'
'This program is distributed in the hope that it will be useful,
'but WITHOUT ANY WARRANTY; without even the implied warranty of
'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
'GNU General Public License for more details (LICENCE.TXT).

Imports System.Windows.Forms

Public Class ConfigurationData

    'Application Update
    Public CheckVersionOnStartup As Boolean = True
    Public SendStats As Boolean = True

    'ISP
    Public ISPName As String
    Public Username As String
    Public Password As String
    Public ISPConnectionType As String
    Public ISPServiceNo As String

    'ISP Plan
    Public PeakUnlimited As Boolean = False
    Public PeakUsageLimit As String
    Public PeakReached As String
    Public OffpeakAvailable As Boolean = True
    Public OffpeakStartHour As String
    Public OffpeakEndHour As String
    Public OffpeakTimeZone As String
    Public OffpeakUnlimited As Boolean = False
    Public OffpeakUsageLimit As String
    Public OffpeakWeekendsUnlimited As Boolean = False
    Public OffpeakReached As String
    Public OffpeakAvailableAfterPeakReached As Boolean = True
    Public UploadCounted As Boolean = False
    Public UploadAvailable As Boolean = False
    Public WAIXAvailable As Boolean = False
    Public ExcessApplicable As Boolean = False
    Public ExcessRate As String
    Public ExcessMaxCharge As String
    Public RolloverDay As String = "1"

    'Network Card
    Public RetrieveNICData As Boolean = False
    Public NICName As String

    'Update Interval
    Public UpdateInterval As Integer = 20

    'Proxy
    Public ProxyConnect As Boolean = False
    Public ProxyName As String
    Public ProxyPort As String
    Public ProxyLogin As String
    Public ProxyPassword As String

    'Logging
    Public LogEnabled As Boolean = True

    'Data Export
    Public ExportTextLog As Boolean = False
    Public ExportDescriptors As Boolean
    Public ExportNotations As Boolean
    Public ExportDownload As Boolean
    Public ExportRemaining As Boolean
    Public ExportAverage As Boolean
    Public ExportAverageRemaining As Boolean
    Public ExportPlan As Boolean
    Public ExportPlanLimit As Boolean
    Public ExportShaped As Boolean
    Public ExportTime As Boolean
    Public ExportUpload As Boolean
    Public ExportPath As String = GetAppDataPath()

    'Image Export
    Public ExportImage As Boolean = False
    Public ExportHTML As Boolean = False
    Public ExportLocalHTMLPath As Boolean = False
    Public ExportImagePath As String = GetAppDataPath()

    'Alerts
    Public AlertEnable As Boolean = False
    Public AlertDialog As Boolean = False
    Public AlertEmail As Boolean = False
    Public AlertValue As New ListBox
    Public AlertMailTo As String
    Public AlertMailServer As String

    'Display
    Public Font As String = "Verdana"
    Public FontSize As Integer = 8
    Public Opacity As String = "1"
    Public ShowISPGraph As Boolean = True
    Public ShowISPStats As Boolean = True
    Public ShowNICStats As Boolean = True
    Public IconISPUsageColourValue As New ListBox
    Public ShowBackground As Boolean = True
    Public BackColour As String = "-16777216"
    Public ForeColour As String = "-1"

    'UA Icon
    Public IconWindowsStartup As Boolean = False
    Public IconUpdateDelay As Integer = 0
    Public IconStatsShowStartup As Boolean = False
    Public IconShowNICGraph As Boolean = True
    Public IconStatsTopmost As Boolean = True
    Public IconStartX As Integer = 400
    Public IconStartY As Integer = 100
    Public IconNICCapacityDown As Integer = 16
    Public IconNICCapacityUp As Integer = 16
    Public IconTrayISPUsage As Boolean = True
    Public IconTrayISPColour As Boolean = True
    Public IconTrayNICGraph As Boolean = True

    'UA Wallpaper
    Public WallpaperEnable As Boolean = False
    Public WallpaperWindowsStartup As Boolean = False
    Public WallpaperFormList As New ArrayList
    Public WallpaperUnixCommand As String
    Public WallpaperUnixCommandArgs As String

    'Misc
    Public ISPValidated As Boolean = False
    Public LastNotify As String
    Public Alert1Count As Integer
    Public Alert2Count As Integer
    Public Alert3Count As Integer
    Public Alert4Count As Integer
    Public Alert5Count As Integer
    Public Version As String
    Public VistaGadgetEnable As Boolean = False
End Class
